1. Field
Embodiments of the present invention relate to computing and networking, and, in particular, to flow control within computing and networking platforms.
2. Discussion of Related Art
A typical computing or networking platform has a number of nodes that pass information (data, video, audio, etc., in the form of packets or raw data, for example) among each other. When packets arrive at a node, such as a switch, a router, a bridge, etc., within the platform, the node may process the information in some manner and then pass the information to the next node.
One characteristic of computing and networking platforms is that the rate at which information is transferred out of nodes can fail to keep pace with the rate at which information arrives at the nodes. This is particularly true in today's high-end computing platforms and high-speed networking platforms. A node in the platform can be over-burdened or otherwise unable to accept information with sufficient speed. In this event, the platform might not be able to handle the resulting congestion, information can get dropped, and the platform's performance can become degraded.
Flow control mechanisms within the node are commonly used to control or regulate the movement of information from the input of a node to the output of the node. There are many known flow control mechanisms, but designers still face challenges to optimize them as platforms become faster and more powerful.